package com.huluobo.a2110mvpimdemo.login;

/**
 * Created by LC on 2023/12/8.
 * 登录的协议层,包含MVP框架的对应所有接口,这里是登录协议,所以包含登录的MVP所有接口
 * P层 主要负责触发网络请求,同时在对应的数据返回位置产生UI反馈
 * V层 主要负责请求之后的UI反馈
 * M层 主要负责请求和返回的数据模型
 * 当前IM项目没有具体的返回模型,直接从SDK中请求并返回,所以可以省略M层
 */
public interface LoginContract {
    interface Presenter {
        void login(String username, String password);
    }

    interface View {
        //登录成功
        void onLoginSuccess();

        //登录失败
        void onLoginFailed(String error);

        //用户名输入错误
        void onUsernameError();

        //密码输入错误
        void onPasswordError();

        //开始登录,触发进度条
        void onStartLogin();
    }

//    interface Model {
//        UserBean login(String username, String password);
//    }
}
